<?php

/* *
 * 功能：支付宝服务器异步通知页面
 * 版本：3.3
 * 日期：2012-07-23
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。


 * ************************页面功能说明*************************
 * 创建该页面文件时，请留心该页面文件中无任何HTML代码及空格。
 * 该页面不能在本机电脑测试，请到服务器上做测试。请确保外部可以访问该页面。
 * 该页面调试工具请使用写文本函数logResult，该函数已被默认关闭，见alipay_notify_class.php中的函数verifyNotify
 * 如果没有收到该页面返回的 success 信息，支付宝会在24小时内按一定的时间策略重发通知
 */

require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");

//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();

log_txt($alipay_config, '../log/log_alipay/config-' . date('Ymd-i') . '.txt');

if ($verify_result) {
    $out_trade_no = $_POST['out_trade_no'];
    //支付宝交易号
    $trade_no = $_POST['trade_no'];
    //交易状态
    $trade_status = $_POST['trade_status'];
    if ($_POST['trade_status'] == 'TRADE_FINISHED') {
        log_txt($_POST, '../log/log_alipay/TRADE_FINISHED-' . $out_trade_no . '.txt');
        
    } else if ($_POST['trade_status'] == 'TRADE_SUCCESS') {
        log_txt($_POST, '../log/log_alipay/TRADE_SUCCESS-' . $out_trade_no . '.txt');
        
    }

    echo "success";  //请不要修改或删除
} else {
    //验证失败
    echo "fail";
}

/**
 * 记录日志
 * @param type $data
 * @param type $filename
 */
function log_txt($data, $filename) {
    file_put_contents($filename, print_r($data, TRUE));
}

?>